package modulo2.conversiones.longitud;

import modulo2.conversiones.Convertidor;
/**
 * @todo completar javadoc
 * @author jjsanche
 */
public class ConvertidorLongitud implements Convertidor {
    private static final String METRO = "METRO";
    private static final String YARDA = "YARDA";
    /**
     * @todo completar javadoc
     * @param escalaOrigen
     * @param valor
     * @param escalaDestino 
     */
    public void convertir(String escalaOrigen, String valor, String escalaDestino) {
        try {
            double valorDouble = Double.parseDouble(valor);
            double valorConvertido = Double.NaN;
            if (escalaValida(escalaOrigen.toUpperCase()) && escalaValida(escalaDestino.toUpperCase())) {
                if (escalaOrigen.toUpperCase().equals(METRO)) {
                    valorConvertido = valorDouble / 0.9144;
                } else {
                    valorConvertido = valorDouble / 1.0936;
                }
                
                //@todo agregar L10N
                System.out.println(valorDouble + " " + escalaOrigen.toUpperCase() + " = " + valorConvertido + " " + escalaDestino.toUpperCase());
            } else {
                //todo agregar L10N
                System.out.println("Escala invalida");
            }        
        } catch (NumberFormatException e) {
            e.printStackTrace();
        }
    }
    
     /**
     * @todo completar javadoc
     * @param nombreEscala
     * @return 
     */
    public boolean escalaValida(String nombreEscala) {
        return METRO.equals(nombreEscala) ? true :
                 YARDA.equals(nombreEscala) ? true : false;
    }
    
}
